package com.jdrx.sw.sewage.beans.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jdrx.sw.sewage.common.enums.EDelete;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

@ApiModel(value = "新增站点参数")
@Data
public class AddDTO implements Serializable {
	private static final long serialVersionUID = -6337405327253911648L;

	@ApiModelProperty(value = "租户ID")
	private Long tenantId;
	
	@ApiModelProperty(value="站点编码，全局唯一，用于运营端、租户端数据交互")
    private String code;

	@ApiModelProperty(value = "站点名称")
	private String name;

	@ApiModelProperty(value = "详细地址")
	private String addr;

	@ApiModelProperty(value = "经度")
	private Float lon;

	@ApiModelProperty(value = "纬度")
	private Float lat;

	@ApiModelProperty(value = "状态，0-正常，1-欠费，2-停用")
	private Integer status;

	@ApiModelProperty(value = "物联网网关，多个用逗号分割")
	private String iotGatewayNum;

	@ApiModelProperty(value = "服务时间")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE, pattern = "yyyy-MM-dd")
	private LocalDate serviceTime;

	@ApiModelProperty(value = "建设单位")
	private String construction;

	@ApiModelProperty(value = "主管单位")
	private String comDepart;

	@ApiModelProperty(value = "建设负责人")
	private String conLeader;

	@ApiModelProperty(value = "建设负责人联系方式")
	private String conLeaderPho;

	@ApiModelProperty(value = "占地面积")
	private BigDecimal area;

	@ApiModelProperty(value = "总投资预算")
	private BigDecimal totalBudget;

	@ApiModelProperty(value = "处理工艺")
	private String treatProcess;

	@ApiModelProperty(value = "设计处理能力")
	private BigDecimal designProc;

	@ApiModelProperty(value = "设计污泥处理能力")
	private BigDecimal designSludgeProc;

	@ApiModelProperty(value = "开工时间")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE, pattern = "yyyy-MM-dd")
	private LocalDate conStartTime;

	@ApiModelProperty(value = "竣工时间")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE, pattern = "yyyy-MM-dd")
	private LocalDate conEndTime;

	@ApiModelProperty(value = "建设信息备注")
	private String conRemark;

	@ApiModelProperty(value = "站点照片，如果有多个用;拼接")
	private String stationPic;

	@ApiModelProperty(value = "运营单位")
	private String operate;

	@ApiModelProperty(value = "运营部门")
	private String opeDepart;

	@ApiModelProperty(value = "运营负责人")
	private String opeLeader;

	@ApiModelProperty(value = "运营负责人id，逗号分隔")
	private String opeLeaderId;

	@ApiModelProperty(value = "运营负责人联系方式")
	private String opeLeaderPho;

	@ApiModelProperty(value = "投入运营时间")
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE, pattern = "yyyy-MM-dd")
	private LocalDate opeStartTime;

	@ApiModelProperty(value = "运营备注")
	private String opeRemark;

	@ApiModelProperty(value = "运营照片")
	private String opeStationPic;

	@ApiModelProperty(value = "摄像头配置json")
	private String camera;

	@ApiModelProperty(value = "创建时间", hidden = true)
	@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME, pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime createAt = LocalDateTime.now();

	@ApiModelProperty(value = "创建人ID", hidden = true)
	private Long createBy;

	@ApiModelProperty(value = "删除标记：0-未删除，1-已删除", hidden = true)
	private Integer deleteFlag = EDelete.ENABLED.getValue();
}